It is known to control a home environment in accordance with a program stored in a personal computer. When a personal computer is used to provide control functions (environmental, security, process control, etc.), the personal computer must be kept on during all periods when such control functions are necessary. The personal computer cannot be used for other functions during this time. It is also necessary to add additional hardware to the personal computer for interfacing it with the devices to be controlled. Although the cathode ray tube, keyboard and disk drives are used to initialize and program the system, as well as occasionally for checking status, most of the time these parts of the hardware are not used.
If a dedicated controller is used, it provides only a predetermined set of functions for the situation it was designed to control. Additional status indicators are required for the system as well as some controls for initialization. These additional components add expense and are used very infrequently. Because of its fixed nature, the dedicated controller cannot be easily adapted to changing situations. Some dedicated controllers can adapt to changing situations, but these controllers are more like a specialized personal computer with built-in interfaces to the real world and special programs for dealing with only control functions. The hardware of such controllers makes them expensive and their software, being dedicated to only control functions, prevents them from being compatible with other systems.